package com.keur.money.mvp.proxy.fm;

import android.content.Context;
import android.os.Bundle;
import android.view.View;

import com.keur.money.mvp.presenter.MvpPresenter;
import com.keur.money.mvp.view.MvpView;


/**
 * MullaFlow
 *
 * @Author wwdeng
 * @CreateTime: 2024/7/24 10:33
 * @description 第一重代理的目标接口，目标为监听生命Fragment的周期
 * @other 第一重代理下：Fragment为代理实现类，FragmentMvpDelegateImpl为目标接口类，本类则为接口
 * @other 具体的实现：Fragment里实例化FragmentMvpDelegateImpl，Fragment的每个生命周期下，调用FragmentMvpDelegateImpl的相关方法
 *        也就是说FragmentMvpDelegateImpl想要实现的生命周期监听，由Fragment代理来实现
 */
public interface FmMvpDelegate<V extends MvpView, P extends MvpPresenter<V>> {

    public void onCreate(Bundle savedInstanceState);

    public void onActivityCreated(Bundle savedInstanceState);

    public void onViewCreated(View view, Bundle savedInstanceState);

    public void onStart();

    public void onPause();

    public void onResume();

    public void onStop();

    public void onDestroyView();

    public void onDestroy();

    public void onSaveInstanceState(Bundle outState);

    public void onAttach(Context context);

    public void onDetach();
}
